const ManagerModel = require('../model/mannager')
const UserModel = require('../model/user')
const filter = { Mana_PWD: 0 }
const filter2 = { passWord: 0 }

module.exports = (router) => {
    // 支持带参数传递和不带参数传递两种方式
    // 管理员列表
    router.post('/MannagerList', function (req, res) {
        let { isRight } = req.body
        console.log(isRight)
        ManagerModel.find(isRight ? { isRight } : {}, filter, function (err, list) {
            if (!err) {
                res.send({ code: 0, data: list })
            } else {
                res.send({ code: 1, msg: '数据库错误' })
            }
        })
    })
    // 用户列表 
    router.post('/UserList', function (req, res) {
        UserModel.find({}, filter2, function (err, list) {
            if (!err) {
                res.send({ code: 0, data: list })
            } else {
                res.send({ code: 1, msg: '数据库出错' })
            }
        })
    })
    // 授权管理员登录或者禁止登录
    router.post('/isAuthorMannagerLogin', function (req, res) {
        let { isRight, _id } = req.body
        ManagerModel.findOneAndUpdate({ _id }, { isRight: !isRight }, function (err, man) {
            if (!err) {
                res.send({ code: 0, msg: isRight ? '取消权限成功' : '授予权限成功' })
            } else {
                res.send({ code: 1, msg: '服务器出错了' })
            }
        })

    })
    // 授权超级管理员或者取消授权
    router.post('/isAuthorMannagerSuper', function (req, res) {
        let { isSuper, _id } = req.body
        ManagerModel.findOneAndUpdate({ _id }, { isSuper: !isSuper }, function (err, man) {
            if (!err) {
                res.send({ code: 0, msg: isSuper ? '取消超级管理员权限成功' : '授予超级管理员权限成功' })
            } else {
                res.send({ code: 1, msg: '服务器出错了' })
            }
        })

    })
    // 授权用户登录或者禁止登录
    router.post('/isAuthorUserLogin', function (req, res) {
        let { isRight, _id } = req.body
        UserModel.findOneAndUpdate({ _id }, { isRight: !isRight }, function (err, man) {
            if (!err) {
                res.send({ code: 0, msg: isRight ? '取消权限成功' : '授予权限成功' })
            } else {
                res.send({ code: 1, msg: '服务器出错了' })
            }
        })

    })
    // 用户模糊查询
    router.get('/searchUser', function (req, res) {
        let reg = new RegExp(req.query.search, 'i')
        UserModel.find({ $or: [{ userName: { $regex: reg } }] }, { passWord: 0 }, function (err, list) {
            if (!err) {
                UserModel.findOne({ _id: req.query.search }, { passWord: 0 }, function (innerErr, inner) {
                    if (inner) {
                        res.send({ code: 0, data: [inner] })
                    } else {
                        res.send({ code: 0, data: list })
                    }
                })
            } else {
                res.send({ code: 1, msg: '后端出错', err })
            }
        })
    })
    // 管理员模糊查询 
    router.get('/searchMannger', function (req, res) {
        let reg = new RegExp(req.query.search, 'i')
        ManagerModel.find({
            $or: [
                { Mana_Name: { $regex: reg } }
            ]
        }, { Mana_PWD: 0 }, function (err, list) {
            if (!err) {
                ManagerModel.findOne({ _id: req.query.search }, { Mana_PWD: 0 }, function (innerErr, inner) {
                    if (inner) {
                        res.send({ code: 0, data: [inner] })
                    } else {
                        res.send({ code: 0, data: list })
                    }
                })
            } else {
                res.send({ code: 1, msg: '后端出错', err })
            }
        })
    })
}